package com.situ.tos2024.service;

import com.situ.tos2024.model.Category;
import com.situ.tos2024.util.PaginateInfo;

import java.util.List;

public interface CategoryService {
    /**
     * 查询所有分类，不分页
     *
     * @return 查询所有分类
     */
    List<Category> findAll(PaginateInfo pi, Category search);

    default List<Category> findByParentId(PaginateInfo pi, Category search, Integer parentId) {
        search.setParentId(parentId);
        return findAll(pi, search);
    }

    default List<Category> findByParentId(Integer parentId) {
        return findByParentId(PaginateInfo.ofDefault(), new Category(), parentId);
    }

    /**
     * 查询所有根分类
     *
     * @return 所有根分类
     */
    default List<Category> findAllRoots(PaginateInfo pi, Category search) {
        return findByParentId(pi, search, 0);//parentId为0则表示查询parentId值为null的
    }
}
